# NOTE
"""
1.	位运算：转化为二进制进行计算
	实战：
	判断奇偶： x%2 == 1    x & 1 == 1
			   x%2 == 0    x & 1 == 0
	除以2的倍数:
				x / 2       x >> 1    
				x / 2^k     x >> k
	清零最低位的1：
	X = X&(X-1)
	得到最低位的1/0：
	X&-X/ X&~X


2.	布隆过滤器,  LRU缓存
	布隆过滤器：
		存储：将待存储的数据按照一定规则拆分。 并在过滤器的列表中对应索引位置将表示改为1.
		查询：将待查询的数据按照一定规则拆分。 所有对应的索引位置的值是否为1。
			  如果都为1， 则该数据可能存在该位置。
			  如果存在一个非1的， 则该数据肯定不存在该位置。
	LRU缓存：
		存储：将待存储的数据生成一个双链表节点. 像队列一样， 一次插入。 改变头尾节点
			  如果缓存队列满了， 则将位于尾部的弹出。 在头部插入新数据
			  如果缓存队列满了，且待插入的数据是已存在的数据。 则将该已存在的数据弹出，在头部插入该数据


3. 排序算法：
	基本排序:  
		初级： 选择排序， 插入排序，冒泡排序 -> O(n^2)

		高级:  归并排序，快速排序，堆排序 -> O(nlogn)

	特殊排序： 主要是针对整型数据的排序
				基数排序, 基数排序，桶排序
"""


  

